#ifndef _ROTATEQUAT_
#define _ROTATEQUAT_

#include "Transformation.h"
#include "Quaternion.h"
#include <cassert>

class RotateQuat: public Transformation{
	public:
		RotateQuat(Dof *w, Dof *x, Dof *y, Dof *z);
		RotateQuat(Dof *w, Dof *x, Dof *y, Dof *z, char *mName);
		void applyGLTransform();
	protected:
		Mat4d *getTransformMat();
		Mat4d *getDerivativeMat(Dof *d);
		Mat4d *getDerivativeMat(Dof *d1, Dof *d2);
};

#endif
